package com.group.service;

import com.github.pagehelper.PageInfo;
import pojo.entity.Order;

/**
 * 用户账户业务接口
 */
public interface UserAccountService {
    /**
     * 根据用户id查询用户余额
     *
     * @param userId 用户id
     * @return 用户余额
     */
    double findBalanceByUserId(Long userId);

    /**
     * 增加用户余额，同时生成订单(事务操作)
     *
     * @param order 订单
     * @return 成功返回1
     */
    Integer addBalanceAndOrder(Order order);

    /**
     * 分页查询用户交易记录
     *
     * @param currentPage 当前页码
     * @param pageSize    每页显示条数
     * @param userId      用户id
     * @return 分页对象
     */
    PageInfo findUserRecordPage(Integer currentPage, Integer pageSize, Long userId);

    /**
     * 根据用户id更新用户余额
     * @param userId 用户id
     * @param money 金额
     * @return 成功返回1
     */
    Integer updateUserBalance(Long userId, Double money);
}
